package com.ssm.user.designPattern.templatePattern.prod;

/**
 * 规定模板使用
 *
 * 假如我们要写一个商品模块，将一个商品传过来，先要校验入参是否正确，开始执行相关操作，主要逻辑执行完成后，后续还需要做什么操作！
 *
 * 将校验入参、执行操作、后续操作都抽成一个Action类！
 */
public interface Action {

    /**
     * 参数校验，可以自定义异常抛出
     */
    void validate();

    /**
     * 执行
     */
    void execute();

    /**
     * 后续
     */
    void after();

}